package com.ligure.template;

/**
 * Created by Administrator on 2017/3/1.
 * 模板方法模式定义了一个操作中的算法框架，而将一些步骤延迟到子类中实现。
 * 模板方法模式使得子类可以在不改变算法结构的情况下，重新定义算法中的某些步骤。
 */
public abstract class AbstractTemplate {
    public void templateMethod() {
        doInit();
        doWork();
        doHook();
    }
    protected abstract void doWork();
    protected void doHook() {
        //钩子方法
    }
    private final void doInit() {
        System.out.println("父类初始化了");
    }
}
